home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Present…nuary (Partner) - Disc 1 / The Apple Reference and Presentations Library (Disc 1)(January 1994).iso / Deneba / US English / Canvas™ 3.5-68K / Canvas Tools / Separations / Separations.rsrc / hd11_1011_Separation defs < prev    next >
Text File  |  1994-09-29  |  7KB  |  286 lines

  1. %---Sep stuff
  2. /CurrentProc{currentscreen exch pop exch pop}bdf
  3. /CurrentFreq{currentscreen pop pop}bdf
  4. /CurrentAngle{currentscreen pop exch pop}bdf
  5. /dopageclip{initmatrix pgl dup pgt moveto pgb lineto pgr pgb lineto pgr pgt lineto pgl pgt lineto closepath clippath newpath}bdf
  6. /doSepStuff {
  7. /inch {72 mul} bdf
  8. /UCRB 0.5 def
  9. /UCRM 0.31 def
  10. /UCRY 0.48 def
  11. /setAngles{/blackAngle edf/yellowAngle edf/magentaAngle edf/cyanAngle edf}bdf
  12. /DoColor{color dup 2 copy dup 0 eq{black}if 1 eq{yellow}if 2 eq{magenta}if 3 eq{cyan}if 4 eq{comp}if}bdf
  13. /getScale{1 1 rotmtx defaultmatrix dtransform 1 1 dtransform 4 2 roll exch 3 index div exch 2 index div 4 2 roll pop pop}bdf
  14. /regMarks{gsave translate getScale scale 0.3 setlinewidth newpath
  15. 10 0 moveto 0 0 10 0 360 arc 1 setgray fill
  16. 0 setgray 8 0 moveto 0 0 8 0 360 arc
  17. -10 0 moveto 10 0 lineto 0 -10 moveto 0 10 lineto stroke
  18. 4 0 moveto 0 0 4 0 360 arc fill
  19. -4 0 moveto 4 0 lineto 0 -4 moveto 0 4 lineto 1 setgray stroke grestore}bdf
  20. /doregmarks{/addamt getScale pop 12 mul abs def systemdict begin 
  21. pgl addamt add  pgb addamt sub regMarks
  22. pgl addamt add  pgt addamt add regMarks
  23. pgr addamt sub  pgb addamt sub regMarks
  24. pgr addamt sub  pgt addamt add regMarks
  25. end}def
  26. /languagelevel where {pop languagelevel 1 ne}{false}ifelse
  27. {/GothicBBB-Medium-83pv-RKSJ-H /Font resourcestatus
  28. {pop pop /sepfont /GothicBBB-Medium-83pv-RKSJ-H def}
  29. {/sepfont /Times-Roman def}ifelse
  30. }{FontDirectory /GothicBBB-Medium-83pv-RKSJ-H known
  31. {/sepfont /GothicBBB-Medium-83pv-RKSJ-H def}
  32. {/sepfont /Times-Roman def}ifelse
  33. }ifelse
  34. /objColor 4 array def
  35. /SepSetUp{/JName edf/Names edf/Marks edf/DocumetName edf}bdf
  36. /showJName{ pgl 150 add pgt 10 add moveto DocumetName show}bdf
  37. /dooptions{Marks{doregmarks}if JName{showJName}if}bdf 
  38. /crpln{gsave .3 DocScale div setlinewidth newpath 4 2 roll translate 0 5 2 index mul moveto 0 15 DocScale div 3 -1 roll mul rlineto 5 1 index mul 0 moveto 15 DocScale div mul 0 rlineto systemdict begin 0 setgray end stroke grestore}bdf
  39. /Crops{gsave 2 copy 1 1 crpln 3 index exch -1 1 crpln 1 index 1 -1 crpln -1 -1 crpln grestore}bdf
  40. /cyan {
  41. /color 3 def
  42. /addamt getScale pop abs def
  43. Freq cyanAngle /CSepProc load setscreen
  44. 0 setgray
  45. gsave
  46. dopageclip
  47. systemdict begin 0 setgray end
  48. pgl 100 addamt mul add pgb 9 addamt mul sub moveto
  49. sepfont findfont
  50. 9 addamt mul scalefont setfont
  51. Names{(CYAN) show}if
  52. dooptions
  53. grestore
  54. } def
  55. /magenta {
  56. /color 2 def
  57. /addamt getScale pop abs def
  58. Freq magentaAngle /MSepProc load setscreen
  59. 0 setgray
  60. gsave
  61. dopageclip
  62. systemdict begin 0 setgray end
  63. pgl 200 addamt mul add pgb 9 addamt mul sub moveto
  64. sepfont findfont
  65. 9 addamt mul scalefont setfont
  66. Names{(MAGENTA) show}if
  67. dooptions
  68. grestore
  69. } def
  70. /yellow {
  71. /color 1 def
  72. /addamt getScale pop abs def
  73. Freq yellowAngle /YSepProc load setscreen
  74. 0 setgray
  75. gsave
  76. dopageclip
  77. systemdict begin 0 setgray end
  78. pgl 300 addamt mul add pgb 9 addamt mul sub moveto
  79. sepfont findfont
  80. 9 addamt mul scalefont setfont
  81. Names{(YELLOW) show}if
  82. dooptions
  83. grestore
  84. } def
  85. /black
  86. {
  87. /color 0 def
  88. /addamt getScale pop abs def
  89. Freq blackAngle /BSepProc load setscreen
  90. 0 setgray
  91. gsave
  92. dopageclip
  93. systemdict begin 0 setgray end
  94. pgl 400 addamt mul add pgb 9 addamt mul sub moveto
  95. sepfont findfont
  96. 9 addamt mul scalefont setfont
  97. Names{(BLACK) show}if
  98. dooptions
  99. grestore
  100. } def
  101. /comp {
  102. gsave
  103. /addamt getScale pop abs def
  104. dopageclip
  105. systemdict begin 0 setgray end
  106. pgl 100 addamt mul add pgb 9 addamt mul sub moveto
  107. sepfont findfont
  108. 9 addamt mul scalefont setfont
  109. Names{(Composite) show}if
  110. dooptions
  111. grestore
  112. } def
  113. color 4 ne{
  114. COver MOver YOver BOver or or or
  115. {
  116. /oktodo
  117. {
  118. currentgray 1 eq
  119. {
  120. COver{objColor 0 get}{F}ifelse 
  121. MOver{objColor 1 get}{F}ifelse 
  122. YOver{objColor 2 get}{F}ifelse
  123. BOver{objColor 3 get}{F}ifelse
  124. or or or not
  125. }
  126. {T}ifelse
  127. }bdf
  128. /stroke{oktodo{systemdict begin stroke end}{newpath}ifelse}bdf
  129. /fill{oktodo{systemdict begin fill end}{newpath}ifelse}bdf
  130. /eofill{oktodo{systemdict begin eofill end}{newpath}ifelse}bdf
  131. /awidthshow{oktodo{systemdict begin awidthshow end}{6{pop}repeat}ifelse}bdf
  132. /show{oktodo{systemdict begin show end}{pop}ifelse}bdf
  133. }{
  134. /stroke{systemdict begin stroke end}bdf
  135. /fill{systemdict begin fill end}bdf
  136. /eofill{systemdict begin eofill end}bdf
  137. }ifelse
  138. /setgray {
  139. dup F F F 4 -1 roll 1 ne objColor astore pop
  140. color 0 eq {
  141. systemdict begin setgray end
  142. }{
  143. pop systemdict begin 1 setgray end
  144. } ifelse
  145. } def
  146. /setmkcolor{do_ucrblack 4 1 roll do_correct 4 -1 roll 4 copy 1 1 4{pop 1 ne 4 1 roll}for objColor astore pop}bdf
  147. /setcmykcolor {
  148. 4 copy 1 1 4{pop 0 ne 4 1 roll}for objColor astore pop
  149. color index 1 exch sub systemdict begin setgray end pop pop pop pop
  150. } def
  151. /setrgbcolor {
  152. color 0 eq {
  153. setmkcolor
  154. systemdict begin setgray end pop pop pop}
  155. {
  156. setmkcolor pop
  157. color 1 sub index
  158. systemdict begin setgray end
  159. pop pop pop
  160. } ifelse
  161. } def
  162. /do_correct {
  163. cvtrgbcym
  164. 1 index UCRY mul sub dup 0 lt{ pop 0}if 3 1 roll
  165. 1 index UCRM mul sub dup 0 lt{ pop 0}if 3 1 roll
  166. 3 1 roll
  167. cvtrgbcym
  168. } def
  169. /do_ucrblack {
  170. 3 copy 1 index eq 3 1 roll eq and{pop pop 1 1 1 4 -1 roll}{
  171. cvtrgbcym
  172. cmin 3 index cmin
  173. /mincolor edf
  174. pop pop
  175. /ucramt mincolor UCRB sub
  176. dup 0 lt{ pop 0} if 2 div def
  177. ucramt sub 3 1 roll
  178. ucramt sub 3 1 roll
  179. ucramt sub 3 1 roll
  180. cvtrgbcym
  181. ucramt 1.25 mul
  182. 1 exch sub}ifelse
  183. } def
  184. /cvtrgbcym {
  185. 3 {1 exch sub 3 1 roll} repeat
  186. } def
  187. /cmin {
  188. 2 copy lt {1}{0} ifelse
  189. index
  190. } def
  191. }if
  192. /colorimage
  193. {/ncolors edf
  194. /multiproc edf
  195. color 4 ne{ncolors 1 eq{color 0 eq color 4 eq or{i}{
  196. 3 1 roll pop pop
  197. 3 1 roll
  198. /h edf
  199. /w edf
  200. gsave
  201. newpath
  202. 0 0 moveto 
  203. 1 0 rlineto
  204. 0 1 rlineto
  205. -1 0 rlineto
  206. closepath erasefill
  207. grestore
  208. h exch repeat}ifelse}{multiproc{ncolors 4 eq{
  209. /proc3 edf
  210. /proc2 edf
  211. /proc1 edf
  212. /proc0 edf
  213. {
  214. proc0 color 3 ne{pop}if
  215. proc1 color 2 ne{pop}if
  216. proc2 color 1 ne{pop}if
  217. proc3 color 0 ne{pop}if}i}{
  218. /proc2 edf
  219. /proc1 edf
  220. /proc0 edf
  221. {
  222. proc0    /st0 edf
  223. proc1    /st1 edf
  224. proc2    /st2 edf
  225. 0 1 st0 length 1 sub{dup
  226. st0 exch get 255.0 div
  227. exch dup st1 exch get 255.0 div
  228. exch dup st2 exch get 255.0 div
  229. exch
  230. 4 1 roll
  231. do_ucrblack
  232. /b edf
  233. do_correct
  234. /y edf
  235. /m edf
  236. /c edf
  237. color 3 eq{c}if
  238. color 2 eq{m}if
  239. color 1 eq{y}if
  240. color 0 eq{b}if
  241. 255.0 mul cvi
  242. cvi st0 3 1 roll put}for
  243. st0}i}ifelse}{/proc0 edf
  244. ncolors 4 eq{{
  245. proc0 dup
  246. /st0 edf
  247. 0 exch
  248. 4 exch
  249. length
  250. dup 4 div cvi string /st1 edf
  251. 4 sub{
  252. color 3 eq{dup st0 exch get}if
  253. color 2 eq{dup 1 add st0 exch get}if
  254. color 1 eq{dup 2 add st0 exch get}if
  255. color 0 eq{dup 3 add st0 exch get}if
  256. exch 4 div cvi exch    cvi
  257. st1 3 1 roll put}for
  258. st1}}{{
  259. proc0 dup 
  260. /st0 edf
  261. 0 exch
  262. 3 exch
  263. length
  264. dup 3 div cvi string /st1 edf
  265. 3 sub{
  266. dup st0 exch get 255.0 div
  267. exch dup 1 add st0 exch get    255.0 div
  268. exch dup 2 add st0 exch get    255.0 div
  269. exch
  270. 4 1 roll
  271. do_ucrblack
  272. /b edf
  273. do_correct
  274. /y edf
  275. /m edf
  276. /c edf
  277. color 3 eq{c}if
  278. color 2 eq{m}if
  279. color 1 eq{y}if
  280. color 0 eq{b}if
  281. exch 3 div cvi exch    cvi
  282. 255.0 mul cvi
  283. st1 3 1 roll put}for st1}}ifelse
  284. i}ifelse}ifelse}{systemdict /colorimage known
  285. { multiproc ncolors systemdict /colorimage get exec}{ multiproc not{ncolors icomp}if}ifelse}ifelse}bdf}def
  286.